﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace r2mp_DataStructures
{

    /// <summary>
    /// A DiagramWorker is a class that provides the ability to draw a diagram on a surface via the provided
    /// Graphics-Object. It also usually has the ability to set properties of the targeted panel, which is
    /// usually used to set its size. It also takes care of zooming the drawn graphic in and out via
    /// the zoonIn and zoomOut-methods.
    /// 
    /// Using a loose interface that has almost no interactions with Windows Forms elements it is easy to
    /// centralize all the functions regarding zooming, drawing, printing and saving in a separate form-class.
    /// </summary>
    public interface DiagramWorker
    {
        Panel DrawingPanel
        {
            set;
        }

        void zoomIn();

        void zoomOut();

        void draw(Graphics g);
    }
}
